package com.ziiwee.reduce.describe.annotations;

import java.lang.annotation.*;
import java.lang.reflect.ParameterizedType;

@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER})
public @interface Type {

    /**
     * type
     *
     * @return
     */
    Class<?> value();

    /**
     * Type Arguments
     *
     * @return
     * @see ParameterizedType
     */
    Class<?>[] typeArgs() default {};


}
